package com.basic.auth.dao.model;

import java.io.Serializable;
import java.util.Date;

/**
 * @Title auth_func表的实体类
 * @Description 权限功能表
 * @version 1.0
 * @Author System
 * @Date 2019-12-20 17:25:51
 */
public class AuthFunc implements Serializable {
    /**
     * @Fields id ID
     */
    private Long id;

    /**
     * @Fields type 类型
     */
    private String type;

    /**
     * @Fields name 名称
     */
    private String name;

    /**
     * @Fields code 功能模块编码
     */
    private String code;

    /**
     * @Fields url URL
     */
    private String url;

    /**
     * @Fields icon 图标
     */
    private String icon;

    /**
     * @Fields mobUrl 移动端URL
     */
    private String mobUrl;

    /**
     * @Fields mobIcon 移动端图标
     */
    private String mobIcon;

    /**
     * @Fields sort 顺序
     */
    private Integer sort;

    /**
     * @Fields rank 级别
     */
    private Integer rank;

    /**
     * @Fields axis axis串
     */
    private String axis;

    /**
     * @Fields parentFuncId 父级功能ID
     */
    private Long parentFuncId;

    /**
     * @Fields isEnd 是否末节点
     */
    private Short isEnd;

    /**
     * @Fields userTypeMatch 用户身份类型
     */
    private String userTypeMatch;

    /**
     * @Fields manageType 管理类型YY-运营JS-技术
     */
    private String manageType;

    /**
     * @Fields isBack 是否后台管理
     */
    private Short isBack;

    /**
     * @Fields subSystemId 子系统
     */
    private Short subSystemId;

    /**
     * @Fields systemId 所属系统
     */
    private Short systemId;

    /**
     * @Fields dataRemark 数据说明 开发时写入
     */
    private String dataRemark;

    /**
     * @Fields createTime 创建时间
     */
    private Date createTime;

    /**
     * @Fields versionRemark 版本说明
     */
    private String versionRemark;

    /**
     * @Fields vno 版本号
     */
    private Date vno;

    /**
     * @Fields isEnabled 是否可用 1可用 0不可用
     */
    private Short isEnabled;

    private static final long serialVersionUID = 1L;

    /**
     * 获取 ID 字段:auth_func.id
     *
     * @return auth_func.id, ID
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置 ID 字段:auth_func.id
     *
     * @param id the value for auth_func.id, ID
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取 类型 字段:auth_func.type
     *
     * @return auth_func.type, 类型
     */
    public String getType() {
        return type;
    }

    /**
     * 设置 类型 字段:auth_func.type
     *
     * @param type the value for auth_func.type, 类型
     */
    public void setType(String type) {
        this.type = type == null ? null : type.trim();
    }

    /**
     * 获取 名称  字段:auth_func.name
     *
     * @return auth_func.name, 名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置 名称  字段:auth_func.name
     *
     * @param name the value for auth_func.name, 名称
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * 获取 功能模块编码 字段:auth_func.code
     *
     * @return auth_func.code, 功能模块编码
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置 功能模块编码 字段:auth_func.code
     *
     * @param code the value for auth_func.code, 功能模块编码
     */
    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    /**
     * 获取 URL  字段:auth_func.url
     *
     * @return auth_func.url, URL
     */
    public String getUrl() {
        return url;
    }

    /**
     * 设置 URL  字段:auth_func.url
     *
     * @param url the value for auth_func.url, URL
     */
    public void setUrl(String url) {
        this.url = url == null ? null : url.trim();
    }

    /**
     * 获取 图标 字段:auth_func.icon
     *
     * @return auth_func.icon, 图标
     */
    public String getIcon() {
        return icon;
    }

    /**
     * 设置 图标 字段:auth_func.icon
     *
     * @param icon the value for auth_func.icon, 图标
     */
    public void setIcon(String icon) {
        this.icon = icon == null ? null : icon.trim();
    }

    /**
     * 获取 移动端URL 字段:auth_func.mob_url
     *
     * @return auth_func.mob_url, 移动端URL
     */
    public String getMobUrl() {
        return mobUrl;
    }

    /**
     * 设置 移动端URL 字段:auth_func.mob_url
     *
     * @param mobUrl the value for auth_func.mob_url, 移动端URL
     */
    public void setMobUrl(String mobUrl) {
        this.mobUrl = mobUrl == null ? null : mobUrl.trim();
    }

    /**
     * 获取 移动端图标 字段:auth_func.mob_icon
     *
     * @return auth_func.mob_icon, 移动端图标
     */
    public String getMobIcon() {
        return mobIcon;
    }

    /**
     * 设置 移动端图标 字段:auth_func.mob_icon
     *
     * @param mobIcon the value for auth_func.mob_icon, 移动端图标
     */
    public void setMobIcon(String mobIcon) {
        this.mobIcon = mobIcon == null ? null : mobIcon.trim();
    }

    /**
     * 获取 顺序  字段:auth_func.sort
     *
     * @return auth_func.sort, 顺序
     */
    public Integer getSort() {
        return sort;
    }

    /**
     * 设置 顺序  字段:auth_func.sort
     *
     * @param sort the value for auth_func.sort, 顺序
     */
    public void setSort(Integer sort) {
        this.sort = sort;
    }

    /**
     * 获取 级别  字段:auth_func.rank
     *
     * @return auth_func.rank, 级别
     */
    public Integer getRank() {
        return rank;
    }

    /**
     * 设置 级别  字段:auth_func.rank
     *
     * @param rank the value for auth_func.rank, 级别
     */
    public void setRank(Integer rank) {
        this.rank = rank;
    }

    /**
     * 获取 axis串 字段:auth_func.axis
     *
     * @return auth_func.axis, axis串
     */
    public String getAxis() {
        return axis;
    }

    /**
     * 设置 axis串 字段:auth_func.axis
     *
     * @param axis the value for auth_func.axis, axis串
     */
    public void setAxis(String axis) {
        this.axis = axis == null ? null : axis.trim();
    }

    /**
     * 获取 父级功能ID 字段:auth_func.parent_func_id
     *
     * @return auth_func.parent_func_id, 父级功能ID
     */
    public Long getParentFuncId() {
        return parentFuncId;
    }

    /**
     * 设置 父级功能ID 字段:auth_func.parent_func_id
     *
     * @param parentFuncId the value for auth_func.parent_func_id, 父级功能ID
     */
    public void setParentFuncId(Long parentFuncId) {
        this.parentFuncId = parentFuncId;
    }

    /**
     * 获取 是否末节点 字段:auth_func.is_end
     *
     * @return auth_func.is_end, 是否末节点
     */
    public Short getIsEnd() {
        return isEnd;
    }

    /**
     * 设置 是否末节点 字段:auth_func.is_end
     *
     * @param isEnd the value for auth_func.is_end, 是否末节点
     */
    public void setIsEnd(Short isEnd) {
        this.isEnd = isEnd;
    }

    /**
     * 获取 用户身份类型 字段:auth_func.user_type_match
     *
     * @return auth_func.user_type_match, 用户身份类型
     */
    public String getUserTypeMatch() {
        return userTypeMatch;
    }

    /**
     * 设置 用户身份类型 字段:auth_func.user_type_match
     *
     * @param userTypeMatch the value for auth_func.user_type_match, 用户身份类型
     */
    public void setUserTypeMatch(String userTypeMatch) {
        this.userTypeMatch = userTypeMatch == null ? null : userTypeMatch.trim();
    }

    /**
     * 获取 管理类型YY-运营JS-技术 字段:auth_func.manage_type
     *
     * @return auth_func.manage_type, 管理类型YY-运营JS-技术
     */
    public String getManageType() {
        return manageType;
    }

    /**
     * 设置 管理类型YY-运营JS-技术 字段:auth_func.manage_type
     *
     * @param manageType the value for auth_func.manage_type, 管理类型YY-运营JS-技术
     */
    public void setManageType(String manageType) {
        this.manageType = manageType == null ? null : manageType.trim();
    }

    /**
     * 获取 是否后台管理 字段:auth_func.is_back
     *
     * @return auth_func.is_back, 是否后台管理
     */
    public Short getIsBack() {
        return isBack;
    }

    /**
     * 设置 是否后台管理 字段:auth_func.is_back
     *
     * @param isBack the value for auth_func.is_back, 是否后台管理
     */
    public void setIsBack(Short isBack) {
        this.isBack = isBack;
    }

    /**
     * 获取 子系统 字段:auth_func.sub_system_id
     *
     * @return auth_func.sub_system_id, 子系统
     */
    public Short getSubSystemId() {
        return subSystemId;
    }

    /**
     * 设置 子系统 字段:auth_func.sub_system_id
     *
     * @param subSystemId the value for auth_func.sub_system_id, 子系统
     */
    public void setSubSystemId(Short subSystemId) {
        this.subSystemId = subSystemId;
    }

    /**
     * 获取 所属系统 字段:auth_func.system_id
     *
     * @return auth_func.system_id, 所属系统
     */
    public Short getSystemId() {
        return systemId;
    }

    /**
     * 设置 所属系统 字段:auth_func.system_id
     *
     * @param systemId the value for auth_func.system_id, 所属系统
     */
    public void setSystemId(Short systemId) {
        this.systemId = systemId;
    }

    /**
     * 获取 数据说明 开发时写入 字段:auth_func.data_remark
     *
     * @return auth_func.data_remark, 数据说明 开发时写入
     */
    public String getDataRemark() {
        return dataRemark;
    }

    /**
     * 设置 数据说明 开发时写入 字段:auth_func.data_remark
     *
     * @param dataRemark the value for auth_func.data_remark, 数据说明 开发时写入
     */
    public void setDataRemark(String dataRemark) {
        this.dataRemark = dataRemark == null ? null : dataRemark.trim();
    }

    /**
     * 获取 创建时间 字段:auth_func.create_time
     *
     * @return auth_func.create_time, 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置 创建时间 字段:auth_func.create_time
     *
     * @param createTime the value for auth_func.create_time, 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取 版本说明 字段:auth_func.version_remark
     *
     * @return auth_func.version_remark, 版本说明
     */
    public String getVersionRemark() {
        return versionRemark;
    }

    /**
     * 设置 版本说明 字段:auth_func.version_remark
     *
     * @param versionRemark the value for auth_func.version_remark, 版本说明
     */
    public void setVersionRemark(String versionRemark) {
        this.versionRemark = versionRemark == null ? null : versionRemark.trim();
    }

    /**
     * 获取 版本号  字段:auth_func.vno
     *
     * @return auth_func.vno, 版本号
     */
    public Date getVno() {
        return vno;
    }

    /**
     * 设置 版本号  字段:auth_func.vno
     *
     * @param vno the value for auth_func.vno, 版本号
     */
    public void setVno(Date vno) {
        this.vno = vno;
    }

    /**
     * 获取 是否可用 1可用 0不可用 字段:auth_func.is_enabled
     *
     * @return auth_func.is_enabled, 是否可用 1可用 0不可用
     */
    public Short getIsEnabled() {
        return isEnabled;
    }

    /**
     * 设置 是否可用 1可用 0不可用 字段:auth_func.is_enabled
     *
     * @param isEnabled the value for auth_func.is_enabled, 是否可用 1可用 0不可用
     */
    public void setIsEnabled(Short isEnabled) {
        this.isEnabled = isEnabled;
    }

    /**
     * :auth_func
     * @return String
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", type=").append(type);
        sb.append(", name=").append(name);
        sb.append(", code=").append(code);
        sb.append(", url=").append(url);
        sb.append(", icon=").append(icon);
        sb.append(", mobUrl=").append(mobUrl);
        sb.append(", mobIcon=").append(mobIcon);
        sb.append(", sort=").append(sort);
        sb.append(", rank=").append(rank);
        sb.append(", axis=").append(axis);
        sb.append(", parentFuncId=").append(parentFuncId);
        sb.append(", isEnd=").append(isEnd);
        sb.append(", userTypeMatch=").append(userTypeMatch);
        sb.append(", manageType=").append(manageType);
        sb.append(", isBack=").append(isBack);
        sb.append(", subSystemId=").append(subSystemId);
        sb.append(", systemId=").append(systemId);
        sb.append(", dataRemark=").append(dataRemark);
        sb.append(", createTime=").append(createTime);
        sb.append(", versionRemark=").append(versionRemark);
        sb.append(", vno=").append(vno);
        sb.append(", isEnabled=").append(isEnabled);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }

    /**
     * :auth_func
     * @param that
     * @return boolean
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        AuthFunc other = (AuthFunc) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
            && (this.getCode() == null ? other.getCode() == null : this.getCode().equals(other.getCode()))
            && (this.getUrl() == null ? other.getUrl() == null : this.getUrl().equals(other.getUrl()))
            && (this.getIcon() == null ? other.getIcon() == null : this.getIcon().equals(other.getIcon()))
            && (this.getMobUrl() == null ? other.getMobUrl() == null : this.getMobUrl().equals(other.getMobUrl()))
            && (this.getMobIcon() == null ? other.getMobIcon() == null : this.getMobIcon().equals(other.getMobIcon()))
            && (this.getSort() == null ? other.getSort() == null : this.getSort().equals(other.getSort()))
            && (this.getRank() == null ? other.getRank() == null : this.getRank().equals(other.getRank()))
            && (this.getAxis() == null ? other.getAxis() == null : this.getAxis().equals(other.getAxis()))
            && (this.getParentFuncId() == null ? other.getParentFuncId() == null : this.getParentFuncId().equals(other.getParentFuncId()))
            && (this.getIsEnd() == null ? other.getIsEnd() == null : this.getIsEnd().equals(other.getIsEnd()))
            && (this.getUserTypeMatch() == null ? other.getUserTypeMatch() == null : this.getUserTypeMatch().equals(other.getUserTypeMatch()))
            && (this.getManageType() == null ? other.getManageType() == null : this.getManageType().equals(other.getManageType()))
            && (this.getIsBack() == null ? other.getIsBack() == null : this.getIsBack().equals(other.getIsBack()))
            && (this.getSubSystemId() == null ? other.getSubSystemId() == null : this.getSubSystemId().equals(other.getSubSystemId()))
            && (this.getSystemId() == null ? other.getSystemId() == null : this.getSystemId().equals(other.getSystemId()))
            && (this.getDataRemark() == null ? other.getDataRemark() == null : this.getDataRemark().equals(other.getDataRemark()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getVersionRemark() == null ? other.getVersionRemark() == null : this.getVersionRemark().equals(other.getVersionRemark()))
            && (this.getVno() == null ? other.getVno() == null : this.getVno().equals(other.getVno()))
            && (this.getIsEnabled() == null ? other.getIsEnabled() == null : this.getIsEnabled().equals(other.getIsEnabled()));
    }

    /**
     * :auth_func
     * @return int
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getCode() == null) ? 0 : getCode().hashCode());
        result = prime * result + ((getUrl() == null) ? 0 : getUrl().hashCode());
        result = prime * result + ((getIcon() == null) ? 0 : getIcon().hashCode());
        result = prime * result + ((getMobUrl() == null) ? 0 : getMobUrl().hashCode());
        result = prime * result + ((getMobIcon() == null) ? 0 : getMobIcon().hashCode());
        result = prime * result + ((getSort() == null) ? 0 : getSort().hashCode());
        result = prime * result + ((getRank() == null) ? 0 : getRank().hashCode());
        result = prime * result + ((getAxis() == null) ? 0 : getAxis().hashCode());
        result = prime * result + ((getParentFuncId() == null) ? 0 : getParentFuncId().hashCode());
        result = prime * result + ((getIsEnd() == null) ? 0 : getIsEnd().hashCode());
        result = prime * result + ((getUserTypeMatch() == null) ? 0 : getUserTypeMatch().hashCode());
        result = prime * result + ((getManageType() == null) ? 0 : getManageType().hashCode());
        result = prime * result + ((getIsBack() == null) ? 0 : getIsBack().hashCode());
        result = prime * result + ((getSubSystemId() == null) ? 0 : getSubSystemId().hashCode());
        result = prime * result + ((getSystemId() == null) ? 0 : getSystemId().hashCode());
        result = prime * result + ((getDataRemark() == null) ? 0 : getDataRemark().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getVersionRemark() == null) ? 0 : getVersionRemark().hashCode());
        result = prime * result + ((getVno() == null) ? 0 : getVno().hashCode());
        result = prime * result + ((getIsEnabled() == null) ? 0 : getIsEnabled().hashCode());
        return result;
    }
}
